// 方式1
$(function () {
    var ckArr = $("input[name='cartCheckBox']");

    function productCount() {
        var summer = 0; //累计总价
        var integral = 0; //累计总积分
        ckArr = $("input[name='cartCheckBox']");
        $(ckArr).each(function () {
            var tr = $(this).parent().parent();
            var price = $(tr).children().eq(4).text();
            var num = $(tr).children().eq(5).children().eq(1).val();
            var score = $(tr).children().eq(3).text();
            var trSum = parseInt(num) * parseFloat(price);
            $(tr).children().eq(6).text("￥" + trSum);
            if ($(this).prop("checked")) {
                //累加总价
                summer += trSum;
                //累加总积分
                integral += parseInt(num) * parseInt(score);
            }
        })
        $("#total").text("￥" + summer);
        $("#integral").text("￥" + integral);

    }

    productCount();

    //实现全选全不选 注册事件
    $("#allCheckBox").click(function () {
        var checked = this.checked
        $(ckArr).each(function () {
            //让商品中的复选框和上面全选的复选框一样
            $(this).prop("checked", checked)
        })
        productCount();
        //全选复选框注册事件结束
    })

    //判断是否全选
    function ifAllChecked() {
        var sum = $(ckArr).length;
        var n = 0;
        $(ckArr).each(function () {
            if ($(this).is(':checked')) {
                //累加
                n++;
            }
        })
        if (n == sum) {
            $("#allCheckBox").prop("checked", true)
        } else {
            $("#allCheckBox").prop("checked", false)
        }
    } //ifAllChecked()函数的结束

    //反选操作
    $("#reverseCheckBox").click(function () {
        //遍历商品行最前面复选框数组
        $(ckArr).each(function () {
            $(this).prop("checked", !$(this).prop("checked"));
        })
        ifAllChecked();
        //调用小计和累加总价和总积分
        productCount();
    }) //反选事件的结束


    //给复选框注册事件
    $(ckArr).each(function () {
        $(this).click(function () {
            ifAllChecked();
            productCount();
        })
    }) //结束

    //给批量选中的删除注册事件
    $("#deleteAll").click(function () {
        //循环判断商品行

        var ids = "";
        $(ckArr).each(function () {
            //    alert($(ck).is(":checked"))
            if ($(this).is(":checked")) {
                //得到复选框所在的商品行
                var tr = $(this).parent().parent();
                var id = $(this).val();
                // alert(id)
                ids += "ids=" + id + "&"
                $(tr).prev().remove()
                $(tr).remove()
                // $(ck).prop("checked", false);
            }

        })
        // alert(ids);
        $.getJSON("/changeCart2", ids, function (mes) {
            if (mes) {
                alert("批量删除成功")
            }
        })
        productCount();
    }) //批量选中的删除注册事件结束


    //查找所有删除a标签的数组
    var delArr = $("[name='delOne']");
    //循环绑定给a标签删除事件
    $(delArr).each(function () {
        //绑定单击事件
        $(this).click(function () {
            //找到删除a标签所在的行
            var tr = $(this).parent().parent();
            $(tr).prev().remove()
            $(tr).remove()
            // var ck = $(tr).children().children();
            // $(ck).prop("checked", false);
            productCount();

        })
    })

    var imgArr = $("img");
    //遍历图片数组
    $(imgArr).each(function () {
        $(this).click(function () {
            var alt = $(this).attr("alt");
            //标识属性如果是加
            if (alt == "add") {
                //加号图片的上一个兄弟标签就是商品购买数量的输入框
                var em = $(this).prev()
                //调用点击加或减实现商品购买数量小计总价积分变化的函数
                changNum(em, true);
            } else if (alt == "minus") {
                //减号图片的下一个兄弟标签就是商品购买数量的输入框
                var em = $(this).next()
                changNum(em, false);
            }
        }) //注册单击事件结束
    }) //结束for循环

    function changNum(em, flag) {
        //取到所在行商品购买数量输入框里面原来的值
        var val = $(em).val();
        //如果为真说明点击的是加这个图片
        if (flag == true) {
            val++;
        } else {
            val--;
            if (val < 1) {
                val = 1;
                alert("购买商品的数量必须大于0");
            }
        } //else结束
        //把更改后的购买数量覆盖填充到输入框里
        $(em).val(val)
        var id = $(em).parent().parent().children().children().val();
        // alert(id);
        $.getJSON("changeCart2", {id: id, num: val}, function (mes) {
            // alert(mes)
        })

        //调用小计和累加总价和总积分
        productCount();
    } //封装加或减的重用函数changNum的结束

    //
});

function removeSession(id) {
    $.getJSON("/changeCart2", {id: id, num: 0}, function (mes) {
        // alert("mes")
    })
}
